Recursive Types

نویسندگان

  • Vladimir Gapeyev
  • Michael Y. Levin
  • Benjamin C. Pierce
چکیده

Vladimir Gapeyev Michael Y. Levin Benjamin C. Pierce Department of Computer and Information Science University of Pennsylvania fvgapeyev,bcpierce,[email protected] Category: Pearls Abstract Algorithms for checking subtyping between recursive types lie at the core of many modern programming language implementations. But the fundamental theory of these algorithms and how they relate to simpler declarative speci cations is not widely understood, due in part to the di culty of the available introductions to the area. This tutorial paper o ers an \end-to-end" introduction to recursive types and subtyping algorithms, from basic theory to e cient implementation, set in the elegant mathematical framework of coinduction.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

P´olya Urn Models and Connections to Random Trees: A Review

This paper reviews P´olya urn models and their connection to random trees. Basic results are presented, together with proofs that underly the historical evolution of the accompanying thought process. Extensions and generalizations are given according to chronology: • P´olya-Eggenberger’s urn • Bernard Friedman’s urn • Generalized P´olya urns • Extended urn schemes • Invertible urn schemes ...

متن کامل

Contractive Signatures with Recursive Types, Type Parameters, and Abstract Types

Although theories of equivalence or subtyping for recursive types have been extensively investigated, sophisticated interaction between recursive types and abstract types has gained little attention. The key idea behind type theories for recursive types is to use syntactic contractiveness, meaning every μ-bound variable occurs only under a type constructor such as→ or ∗. This syntactic contract...

متن کامل

Efficient Hash-Consing of Recursive Types

EÆcient storage of types within a compiler is necessary to avoid large blowups in space during compilation. Recursive types in particular are important to consider, as naive representations of recursive types may be arbitrarily larger than necessary through unfolding. Hash-consing has been used to eÆciently store non-recursive types [7]. Deterministic nite automata techniques have been used to ...

متن کامل

Efficient Hash-Consing of Recursive Types

EÆcient storage of types within a compiler is necessary to avoid large blowups in space during compilation. Recursive types in particular are important to consider, as naive representations of recursive types may be arbitrarily larger than necessary through unfolding. Hash-consing has been used to eÆciently store non-recursive types [7]. Deterministic nite automata techniques have been used to ...

متن کامل

Talking Bananas

Session types provide static guarantees that concurrent programs respect communication protocols. We give a novel account of recursive session types in the context of GV, a small concurrent extension of the linear λ-calculus. We extend GV with recursive types and catamorphisms, following the initial algebra semantics of recursion, and show that doing so naturally gives rise to recursive session...

متن کامل

Step-Indexed Syntactic Logical Relations for Recursive and Quantified Types

We present a proof technique, based on syntactic logical relations, for showing contextual equivalence of expressions in a λ-calculus with recursive types and impredicative universal and existential types. We show that for recursive and polymorphic types, the method is both sound and complete with respect to contextual equivalence, while for existential types, it is sound but incomplete. Our de...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2007